package cn.com.yx.ms.service;

import cn.com.yx.ms.domain.RepairLogModel;
import cn.com.yx.ms.domain.RepairLogSortModel;
import cn.com.yx.ms.domain.dbmodel.RepairLog;
import cn.com.yx.ms.domain.dbmodel.RepairLogSort;
import cn.yx.framework.configuration.ApiCode;
import cn.yx.framework.view.ApiResult;

import java.util.List;

/**
 * 报修相关接口
 */
public interface IRepairService {

    /**
     * 报修类型一览获取
     * @return
     */
    ApiResult findRepairType();

    /**
     * 报修操作
     * @param repairLog
     * @return
     */
    ApiResult report(RepairLog repairLog);

    /**
     * 简单报修接口
     * @param equipmentNo
     * @param content
     * @return
     */
    ApiCode alertReport(String equipmentNo,String alertType,String content) throws Exception;

    /**
     * 获取报修日志一览
     * @param repairLog
     * @return
     */
    ApiResult findAllRepairLog(RepairLogModel repairLog);

    /**
     * 根据guid删除报修日志
     * @param guid 日志id
     * @return
     */
    ApiResult delRepairLog(String guid);

    /**
     * 删除报修日志信息(多选)
     * @param model 日志id
     * @return
     */
    ApiResult delAllRepairLog(RepairLogModel model);

    /**
     * 获取报修日志分类一览
     * @param model
     * @return
     */
    ApiResult findAllRepairLogSort(RepairLogSortModel model);

    /**
     * 添加报修日志分类
     * @param repairLogSort
     * @return
     */
    ApiResult addRepairType(RepairLogSort repairLogSort);

    /**
     * 根据guid删除报修日志类型
     * @param guid 日志类型id
     * @return
     */
    ApiResult delRepairLogSortType(String guid);

    /**
     * 删除报修日志类型信息(多选)
     * @param model 日志类型id
     * @return
     */
    ApiResult delAllRepairLogSort(RepairLogModel model);

    /**
     * 自动报修符合条件设备获取
     * @return
     */
    ApiResult autoRepairCheck();
}
